﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Rsa.Security;
using Rsa.DataAccess.Models;

namespace Rsa.Util {
    public static class GeneralParser {
        public static RsaMembershipUser UsusarioToStcMembershipUser(Usuario pUsuario) {
            if (pUsuario == null)
                return null;
            RsaMembershipUser result = new RsaMembershipUser("Rsa.Security.RsaMembershipProvider", pUsuario.UsuarioId, pUsuario.Username);
            result.Nombre = pUsuario.Nombre;
            result.Apellidos = pUsuario.Apellidos;
            result.Email = pUsuario.Email;
            result.Sexo = pUsuario.Sexo;
            result.FechaNacimiento = pUsuario.FechaNacimiento;

            return result;
        }

        public static string SafeQueryString(string queryString) {
            Dictionary<string, string> enemigos = new Dictionary<string, string>();
            enemigos.Add("\'", "(apost)");
            enemigos.Add("+", "(mas)");
            enemigos.Add(";", "(ptcoma)");
            enemigos.Add("--", "(coment)");
            enemigos.Add("/*", "(coment)");
            enemigos.Add("*/", "(coment)");
            enemigos.Add("xp_", "(xp_)");

            foreach (string clave in enemigos.Keys) {
                queryString = queryString.Replace(clave, enemigos[clave]);
            }
            return queryString;
        }

        public static bool IsValidString(string item) {
            // [0-9] 48 - 57
            // [a-z] 97 - 122
            // [A-Z] 65 - 90
            // _ 95
            foreach (char car in item) {
                if (!(48 <= car && car <= 57) && !(97 <= car && car <= 122) && !(65 <= car && car <= 90) && car != 95)
                    return false;
            }
            return true;
        }

    }
}